package base_Suanfa.dongtaiguihua;
//给两个整数数组 A 和 B ，返回两个数组中公共的、长度最长的子数组的长度。
//输入：
//        A: [1,2,3,2,1]
//        B: [3,2,1,4,7]
//        输出：3
//        解释：
//        长度最长的公共子数组是 [3, 2, 1] 。
public class max_zuichangchongfushuzu {
    public static void main(String[] args) {
     int a[]={0,1,1,1,1};
     int b[]={1,0,1,0,1};
     int n=a.length;
     int n1=b.length;
   int max=0;
     int c[][]=new int[n+1][n1+1];
     for(int i=1;i<=n;i++){
         for(int j=1;j<=n1;j++){
             if(a[i-1]==b[j-1]) {
                 c[i][j] =Math.max(c[i][j],c[i-1][j-1]+1);
                 max=Math.max(c[i][j],max);
             }else{
                 c[i][j] =0;
                 max=Math.max(c[i][j],max);
             }
         }
     }
        System.out.println(max);
    }
}
